from functools import lru_cache

@lru_cache(maxsize=None)  # Unbounded cache
def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)

# Usage:
res = fib(100)
print(res)

print('''
我们使用了functools.lru_cache装饰器
为斐波那契函数提供缓存功能。
这样可以极大地提高函数的性能，
特别是对于重复计算较多的递归函数。''')